package com.bishe.tax.entity;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 纳税申报
 * <p>
 * <p>
 * <p>
 * <p>
 * 表 tax_declaration
 *
 * @author ruoyi
 * @date 2019-06-23
 */
public class TaxDeclaration extends BaseEntity {
	private static final long serialVersionUID = 1L;

	/**  */
	private Integer declarationId;
	/**
	 * 税种
	 */
	private String declarationTaxType;
	/**
	 * 税目
	 */
	private String declarationTaxModel;
	/**
	 * 应纳税项目
	 */
	private String declarationTaxProject;
	/**
	 * 适用税率
	 */
	private BigDecimal declarationTaxRate;
	/**
	 * 计税依据
	 */
	private String declarationTaxBasis;
	/**
	 * 扣除项目及标准
	 */
	private String declarationTaxCondition;
	/**
	 * 应纳税额
	 */
	private String declarationTaxMoney;
	/**
	 * 代收代缴税额
	 */
	private BigDecimal declarationReplaceMoney;
	/**
	 * 税款所属期限
	 */
    @JsonFormat(pattern = "yyyy-MM-dd")
	private Date declarationTaxTime;

	/**
	 * 流程id
	 */
	private String processInstanceId;

	private Integer status;

	private Integer taxId;

	private String company;

	private String owner;

	public Integer getTaxId() {
		return taxId;
	}

	public void setTaxId(Integer taxId) {
		this.taxId = taxId;
	}

	public String getCompany() {
		return company;
	}

	public void setCompany(String company) {
		this.company = company;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

	public void setDeclarationId(Integer declarationId) {
		this.declarationId = declarationId;
	}

	public Integer getDeclarationId() {
		return declarationId;
	}

	public String getProcessInstanceId() {
		return processInstanceId;
	}

	public void setProcessInstanceId(String processInstanceId) {
		this.processInstanceId = processInstanceId;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public void setDeclarationTaxType(String declarationTaxType) {
		this.declarationTaxType = declarationTaxType;
	}

	public String getDeclarationTaxType() {
		return declarationTaxType;
	}

	public void setDeclarationTaxModel(String declarationTaxModel) {
		this.declarationTaxModel = declarationTaxModel;
	}

	public String getDeclarationTaxModel() {
		return declarationTaxModel;
	}

	public void setDeclarationTaxProject(String declarationTaxProject) {
		this.declarationTaxProject = declarationTaxProject;
	}

	public String getDeclarationTaxProject() {
		return declarationTaxProject;
	}

	public void setDeclarationTaxRate(BigDecimal declarationTaxRate) {
		this.declarationTaxRate = declarationTaxRate;
	}

	public BigDecimal getDeclarationTaxRate() {
		return declarationTaxRate;
	}

	public void setDeclarationTaxBasis(String declarationTaxBasis) {
		this.declarationTaxBasis = declarationTaxBasis;
	}

	public String getDeclarationTaxBasis() {
		return declarationTaxBasis;
	}

	public void setDeclarationTaxCondition(String declarationTaxCondition) {
		this.declarationTaxCondition = declarationTaxCondition;
	}

	public String getDeclarationTaxCondition() {
		return declarationTaxCondition;
	}

	public void setDeclarationTaxMoney(String declarationTaxMoney) {
		this.declarationTaxMoney = declarationTaxMoney;
	}

	public String getDeclarationTaxMoney() {
		return declarationTaxMoney;
	}

	public void setDeclarationReplaceMoney(BigDecimal declarationReplaceMoney) {
		this.declarationReplaceMoney = declarationReplaceMoney;
	}

	public BigDecimal getDeclarationReplaceMoney() {
		return declarationReplaceMoney;
	}

	public void setDeclarationTaxTime(Date declarationTaxTime) {
		this.declarationTaxTime = declarationTaxTime;
	}

	public Date getDeclarationTaxTime() {
		return declarationTaxTime;
	}

	public String toString() {
		return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("declarationId", getDeclarationId())
				.append("declarationTaxType", getDeclarationTaxType())
				.append("declarationTaxModel", getDeclarationTaxModel())
				.append("declarationTaxProject", getDeclarationTaxProject())
				.append("declarationTaxRate", getDeclarationTaxRate())
				.append("declarationTaxBasis", getDeclarationTaxBasis())
				.append("declarationTaxCondition", getDeclarationTaxCondition())
				.append("declarationTaxMoney", getDeclarationTaxMoney())
				.append("declarationReplaceMoney", getDeclarationReplaceMoney())
				.append("declarationTaxTime", getDeclarationTaxTime()).toString();
	}
}
